[INFO] cloning repository https://github.com/post-rex/doit
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/post-rex/doit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpost-rex%2Fdoit", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpost-rex%2Fdoit'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0147a149228116fe0cc6a17bdb185d0d75dd7e36
[INFO] building post-rex/doit against master#881c1ac408d93bb7adaa3a51dabab9266e82eee8 for issue-85264
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpost-rex%2Fdoit" "/workspace/builds/worker-5/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/post-rex/doit on toolchain 881c1ac408d93bb7adaa3a51dabab9266e82eee8
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/post-rex/doit
[INFO] finished tweaking git repo https://github.com/post-rex/doit
[INFO] tweaked toml for git repo https://github.com/post-rex/doit written to /workspace/builds/worker-5/source/Cargo.toml
[INFO] crate git repo https://github.com/post-rex/doit already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded strfmt v0.1.6
[INFO] [stderr]   Downloaded users v0.8.1
[INFO] [stderr]   Downloaded pam v0.7.0
[INFO] [stderr]   Downloaded pam-sys v0.5.6
[INFO] [stderr]   Downloaded fancy-regex v0.4.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2c60e74e1f48b44af77b5fded1dd2975e8e1626375c5a35b22f3fcd9aeb3d140
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "2c60e74e1f48b44af77b5fded1dd2975e8e1626375c5a35b22f3fcd9aeb3d140", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c60e74e1f48b44af77b5fded1dd2975e8e1626375c5a35b22f3fcd9aeb3d140", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c60e74e1f48b44af77b5fded1dd2975e8e1626375c5a35b22f3fcd9aeb3d140", kill_on_drop: false }`
[INFO] [stdout] 2c60e74e1f48b44af77b5fded1dd2975e8e1626375c5a35b22f3fcd9aeb3d140
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 51247d818e2db5a9b17cf9068811fe6f4db240431cd9124ecc70d1acfd5200d9
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "51247d818e2db5a9b17cf9068811fe6f4db240431cd9124ecc70d1acfd5200d9", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.58
[INFO] [stderr]    Compiling version_check v0.9.2
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling serde_derive v1.0.120
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling serde v1.0.120
[INFO] [stderr]    Compiling unicode-width v0.1.8
[INFO] [stderr]    Compiling pam-sys v0.5.6
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling ansi_term v0.11.0
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling regex-syntax v0.6.22
[INFO] [stderr]    Compiling base64 v0.13.0
[INFO] [stderr]    Compiling strfmt v0.1.6
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling users v0.8.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling thread_local v1.1.0
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]    Compiling bit-set v0.5.2
[INFO] [stderr]    Compiling quote v1.0.8
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling pam v0.7.0
[INFO] [stderr]    Compiling clap v2.33.3
[INFO] [stderr]    Compiling aho-corasick v0.7.15
[INFO] [stderr]    Compiling regex v1.4.3
[INFO] [stderr]    Compiling fancy-regex v0.4.1
[INFO] [stderr]    Compiling structopt-derive v0.4.14
[INFO] [stderr]    Compiling structopt v0.3.21
[INFO] [stderr]    Compiling ron v0.6.4
[INFO] [stderr]    Compiling doit v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0585]: found a documentation comment that doesn't document anything
[INFO] [stdout]   --> src/config/file.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     /// Format string with dynamic values
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: doc comments must come before what they document, maybe a comment was intended with `//`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::config::file::FileBoundConfig`
[INFO] [stdout]  --> src/config/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::config::file::FileBoundConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `FileBoundConfig` in `config::file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::config::Command`, `crate::config::ExecRight`, `crate::config::UserMode`
[INFO] [stdout]  --> src/user.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::config::{Command, ExecRight, UserMode};
[INFO] [stdout]   |                     ^^^^^^^  ^^^^^^^^^  ^^^^^^^^ no `UserMode` in `config`
[INFO] [stdout]   |                     |        |
[INFO] [stdout]   |                     |        no `ExecRight` in `config`
[INFO] [stdout]   |                     no `Command` in `config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found builtin type `str`
[INFO] [stdout]   --> src/config/mod.rs:68:54
[INFO] [stdout]    |
[INFO] [stdout] 68 |         Ok(cfg) => ron::from_str::<FileBoundConfig>(&str).map_err(ConfigError::ParseErr),
[INFO] [stdout]    |                                                      ^^^ not a value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/config/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CStr`
[INFO] [stdout]  --> src/config/mod.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ffi::{CStr, CString};
[INFO] [stdout]   |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Error`
[INFO] [stdout]  --> src/config/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EAGAIN`, `passwd`
[INFO] [stdout]  --> src/linux.rs:1:48
[INFO] [stdout]   |
[INFO] [stdout] 1 | use libc::{__errno_location, getpwuid, getuid, passwd, setuid, EAGAIN, ENOENT, EPERM};
[INFO] [stdout]   |                                                ^^^^^^          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CString`
[INFO] [stdout]  --> src/linux.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ffi::{CStr, CString, OsStr};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `VecDeque`
[INFO] [stdout]  --> src/main.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, VecDeque};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Config`, `ExecutionAction`
[INFO] [stdout]  --> src/main.rs:7:34
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::config::{ConfigError, Config, RuntimeConfig, ExecutionAction};
[INFO] [stdout]   |                                  ^^^^^^                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `ConfigError` doesn't implement `Debug`
[INFO] [stdout]   --> src/main.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ConfigErr(config::ConfigError),
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^ `ConfigError` cannot be formatted using `{:?}`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Debug` is not implemented for `ConfigError`
[INFO] [stdout]    = note: add `#[derive(Debug)]` or manually implement `Debug`
[INFO] [stdout]    = note: required because of the requirements on the impl of `Debug` for `&ConfigError`
[INFO] [stdout]    = note: required for the cast to the object type `dyn Debug`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0600]: cannot apply unary operator `!` to type `Result<bool, LinuxError>`
[INFO] [stdout]   --> src/config/mod.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 |         if !crate::linux::is_readonly(CONFIG_PATH) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot apply unary operator `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<std::string::String, ConfigError>: From<Result<std::string::String, std::io::Error>>` is not satisfied
[INFO] [stdout]   --> src/config/mod.rs:65:46
[INFO] [stdout]    |
[INFO] [stdout] 65 |         std::fs::read_to_string(CONFIG_PATH).into()
[INFO] [stdout]    |                                              ^^^^ the trait `From<Result<std::string::String, std::io::Error>>` is not implemented for `Result<std::string::String, ConfigError>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following implementations were found:
[INFO] [stdout]              <Result<miniz_oxide::MZStatus, miniz_oxide::MZError> as From<&miniz_oxide::StreamResult>>
[INFO] [stdout]              <Result<miniz_oxide::MZStatus, miniz_oxide::MZError> as From<miniz_oxide::StreamResult>>
[INFO] [stdout]    = note: required because of the requirements on the impl of `Into<Result<std::string::String, ConfigError>>` for `Result<std::string::String, std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/config/mod.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 83 |                 todo!("print error: invalid user id");
[INFO] [stdout]    |                 -------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 84 |                 return Err(ConfigError::InvalidUserId(uid));
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/config/mod.rs:94:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 todo!("print error: invalid user name");
[INFO] [stdout]    |                 ---------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 94 |                 return Err(ConfigError::InvalidUserName(name.clone()));
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/config/mod.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 todo!("Print error");
[INFO] [stdout]     |                 --------------------- any code following this expression is unreachable
[INFO] [stdout] 131 |                 false
[INFO] [stdout]     |                 ^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/config/mod.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 135 |                 todo!("Print advanced error");
[INFO] [stdout]     |                 ------------------------------ any code following this expression is unreachable
[INFO] [stdout] 136 |                 false
[INFO] [stdout]     |                 ^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/config/mod.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 todo!("Print advanced error");
[INFO] [stdout]     |                 ------------------------------ any code following this expression is unreachable
[INFO] [stdout] 143 |                 false
[INFO] [stdout]     |                 ^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_bytes` found for reference `&OsStr` in the current scope
[INFO] [stdout]   --> src/linux.rs:78:27
[INFO] [stdout]    |
[INFO] [stdout] 78 |     match libc::stat(path.as_bytes().as_ptr() as *const c_char, stat) {
[INFO] [stdout]    |                           ^^^^^^^^ method not found in `&OsStr`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]    = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]            `use std::os::unix::ffi::OsStrExt;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `st_mode` on type `*mut libc::stat`
[INFO] [stdout]   --> src/linux.rs:83:22
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let perms = stat.st_mode;
[INFO] [stdout]    |                 -----^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: `stat` is a raw pointer; try dereferencing it: `(*stat).st_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors; 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0423, E0432, E0585, E0599, E0600, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `doit`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `Command { std: "docker" "inspect" "51247d818e2db5a9b17cf9068811fe6f4db240431cd9124ecc70d1acfd5200d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "51247d818e2db5a9b17cf9068811fe6f4db240431cd9124ecc70d1acfd5200d9", kill_on_drop: false }`
[INFO] [stdout] 51247d818e2db5a9b17cf9068811fe6f4db240431cd9124ecc70d1acfd5200d9
